package com.smart.campus.interfaces;

import com.smart.campus.dto.AttendanceStatistics;
import com.smart.campus.dto.TeacherAttendance;
import com.smart.campus.pojo.PagedResponse;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;

import java.util.List;

/**
 * @BelongsProject: smart-campus
 * @BelongsPackage: com.smart.campus.interfaces
 * @Author: JinBao shan
 * @date 2024/10/7 19:59
 * @Description: TODO
 * @Version: 1.0
 */

public interface TeacherAttendanceServiceApi {
    @RequestMapping(value = "attendance/findTeacherAttendancePagination")
    public PagedResponse<TeacherAttendance> findTeacherAttendancePagination(@RequestBody TeacherAttendance attendance, @RequestParam(value = "pageNum",defaultValue = "1") Integer pageNum, @RequestParam(value = "pageSize",defaultValue = "5") Integer pageSize);

    @RequestMapping(value = "attendance/addTeacherAttendance")
    public void addTeacherAttendance(@RequestBody TeacherAttendance attendance);

    @RequestMapping(value = "attendance/getTeacherAttendanceById")
    public TeacherAttendance getTeacherAttendanceById(@RequestParam(value = "id") Integer id);

    @RequestMapping(value = "attendance/updateTeacherAttendance")
    public void updateTeacherAttendance(@RequestBody TeacherAttendance attendance);

    @RequestMapping(value = "attendance/delTeacherAttendanceById")
    public void delTeacherAttendanceById(@RequestParam(value = "id") Integer id);

    @RequestMapping(value = "attendance/queryAttendanceStatistics")
    public List<AttendanceStatistics> queryAttendanceStatistics(@RequestBody AttendanceStatistics attendanceStatistics);
}
